Deploy All Views
๐ <ENV> - [BigQuery] Deploy all views
โ
This GitHub Actions workflow allows developers to deploy all BigQuery views in bulk from a designated directory. It loops through each TypeScript view definition file and runs it using ts-node
.
๐ Workflow Triggerโ
This workflow is triggered manually via the GitHub actions from functions repo.
๐ Environment Variablesโ
Variable | Description |
---|---|
GCP_PROJECT_ID | GCP Project ID (e.g., biddirect-2 ) |
๐งฑ๏ธ Workflow Job: deploy-bigquery-views
โ
Step | Description |
---|---|
Checkout repository | Clones the GitHub repository to the runner. |
Set project env variable | Stores GCP_PROJECT_ID as a GitHub environment variable. |
Authenticate with GCP | Uses the <ENV>_BIGQUERY_ADMIN_SERVICE_ACCOUNT secret to authenticate. |
Set up Cloud SDK | Installs and configures the Google Cloud SDK CLI. |
Install dependencies | Installs Node.js dependencies in the functions directory. |
Deploy all BigQuery views | Loops through all .ts files in the views directory and executes each using ts-node . |
๐งน View Scripts Directoryโ
All BigQuery view scripts must be placed in:
functions/src/bqDataLake/definitions/views/
Each .ts
file should contain the logic necessary to deploy its respective view to BigQuery.
Example:
functions/src/bqDataLake/definitions/views/accounts_latest_view.ts
functions/src/bqDataLake/definitions/views/accounts_serviceUnit_latest_view.ts
๐ Required Secretsโ
Secret Name | Description |
---|---|
<ENV>_BIGQUERY_ADMIN_SERVICE_ACCOUNT | Service account key JSON for GCP auth. |
โ Example Usageโ
To run this workflow:
- Navigate to the Actions tab in your GitHub repository.
- Select
<ENV> - [BigQuery] Deploy all views
. - Click "Run workflow".
This will:
- Authenticate with GCP
- Loop through all view scripts in the target directory
- Deploy each BigQuery view by executing its script using
ts-node
This workflow simplifies the process of updating all BigQuery views in development and ensures all definitions are consistently deployed.